import { isArray } from "../shared";

/**
 * 如果 value 不是数组, 那么强制转为数组。
 * @param value - 要处理的值。
 * @returns 返回转换后的数组。
 * @example
 * _.castArray(1);
 * // => [1]
 * _.castArray([1, 2, 3]);
 * // => [1, 2, 3]
 * _.castArray('abc');
 * // => ['abc']
 * _.castArray(null);
 * // => [null]
 * _.castArray(undefined);
 * // => [undefined]
 * const array = [1, 2, 3]
 * castArray(array) === array
 * // => true
 */
export function castArray(value?: any): any[] {
    // 没有传任何参数的情况（包括没有传undefined、null）
    if(arguments.length === 0) return []
    return isArray(value) ? value : [value]
}